[xend] Fix reboot for hvm domains with cdrom devices.
authorchris@kneesaa.uk.xensource.com <chris@kneesaa.uk.xensource.com>
Mon, 7 Aug 2006 10:59:31 +0000 (11:59 +0100)
committerchris@kneesaa.uk.xensource.com <chris@kneesaa.uk.xensource.com>
Mon, 7 Aug 2006 10:59:31 +0000 (11:59 +0100)
The device-type was not added to the device details which caused
cdrom devices to appear as harddisks after a reboot.

From: Alex Brett <Alex.Brett@xensource.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
tools/python/xen/xend/server/DevController.py
tools/python/xen/xend/server/blkif.py

index 42adfd987adea83f9a74532d80a045382723d439..80d7e85dd2161f0d76775c14779adf57b67f58fb 100644 (file)
@@ -341,6 +341,8 @@ class DevController:
         else:
             raise VmError("Device %s not connected" % devid)
 
+    def readFrontend(self, devid, *args):
+        return xstransact.Read(self.frontendPath(devid), *args)
 
     def deviceIDs(self, transaction = None):
         """@return The IDs of each of the devices currently configured for
index d131ea784341680d8c695bfb6ceecc8bd7cf17e4..0039900eaaec8ed9d058fc406cb63da1f55afe0b 100644 (file)
@@ -86,6 +86,9 @@ class BlkifController(DevController):
                                                     'mode')
 
         if dev:
+            (dev_type) = self.readFrontend(devid, 'device-type')
+            if dev_type:
+                dev += ":" + dev_type
             result.append(['dev', dev])
         if typ and params:
             result.append(['uname', typ + ":" + params])